Energy-Water Sankey
# load the data
water_source_target <- read_csv(paste0("../", data_dir, "water_source_target.csv"))
allenergy_source_target <- read_csv(paste0("../", data_dir, "allenergy_source_target.csv"))
allenergy_source_target
unique(water_source_target$source)
[1] "Arkansas White Red" "California River" "Caribbean" "desalination" "Great" "groundwater" "Lower Colorado River" "Lower Mississippi River" "Mid Atlantic" "Missouri River" "New England" "Ohio River"
[13] "Pacific Northwest" "Rio Grande River" "runoff" "South Atlantic Gulf" "Tennessee River" "Texas Gulf Coast" "Upper Colorado River" "Upper Mississippi" "water_td_an_W" "water_td_dom_W" "water_td_elec_W" "water_td_ind_W"
[25] "water_td_irr_W" "water_td_pri_W"
unique(water_source_target$target)
[1] "desalination" "groundwater" "runoff" "water_td_an_W" "water_td_dom_W" "water_td_elec_W" "water_td_ind_W" "water_td_irr_W" "water_td_pri_W" "Beef"
[11] "Dairy" "Pork" "Poultry" "SheepGoat" "municipal water" "biomass (conv CCS)" "biomass (conv)" "biomass (IGCC CCS)" "biomass (IGCC)" "coal (conv pul CCS)"
[21] "coal (conv pul)" "coal (IGCC CCS)" "coal (IGCC)" "CSP" "CSP (dry_hybrid)" "gas (CC CCS)" "gas (CC)" "gas (CT)" "gas (steam)" "Gen_II_LWR"
[31] "Gen_III" "geothermal" "hydro" "PV" "refined liquids (CC)" "refined liquids (CT)" "refined liquids (steam)" "industry" "biomass" "Corn"
[41] "FiberCrop" "FodderHerb" "MiscCrop" "OilCrop" "OtherGrain" "PalmFruit" "Rice" "RootTuber" "SugarCrop" "Wheat"
[51] "nuclearFuelGenII" "nuclearFuelGenIII" "regional coal" "regional natural gas" "regional oil" "unconventional oil production"
# write_csv(water_source_target %>% select(source) %>% distinct(), paste0("../", data_dir, "mappings/source_mapping_w.csv"))
# write_csv(water_source_target %>% select(target) %>% distinct(), paste0("../", data_dir, "mappings/target_mapping_w.csv"))
source_mapping_w <- read_csv(paste0("../", data_dir, "mappings/source_mapping_w.csv"))
target_mapping_w <- read_csv(paste0("../", data_dir, "mappings/target_mapping_w.csv"))
water_source_target_mapped <- water_source_target %>%
left_join(source_mapping_w, by = c("source")) %>% filter(!is.na(smap)) %>% select(-source, source = smap) %>%
left_join(target_mapping_w, by = c("target")) %>% filter(!is.na(tmap)) %>% select(-target, target = tmap) %>%
group_by(scenario, source, target, year, units) %>% summarise(value = sum(value))
plot_sankey(water_source_target_mapped)
energy_water_source_target <- allenergy_source_target %>%
rbind(water_source_target_mapped %>% mutate(value = value * 1e-1)) %>%
complete(scenario, year, nesting(source, target), fill = list(value = 0)) %>%
select(scenario, source, target, year, value, units)
plot_sankey(energy_water_source_target, "Energy-Water Flows in the US", yr = 2050)
# write_csv(energy_water_source_target, paste0("../", data_dir, "energy_water_source_target.csv"))
# TODO: can remove industry, livestock, and domestic water use layers and directly assign them to end uses industry, livestock, and residential respectively
LS0tDQp0aXRsZTogIkVuZXJneS1XYXRlciBGbG93cyBmcm9tIHRoZSBJTTMgR0NBTS1VU0EgU2NlbmFyaW9zIg0KYXV0aG9yOiAiSGFzc2FuIE5pYXppIChoYXNzYW4ubmlhemlAcG5ubC5nb3YpIg0KZGF0ZTogIkxhc3QgY29tcGlsZWQgb24gYHIgZm9ybWF0KFN5cy50aW1lKCksICclZCAlQiwgJVknKWAiDQpvdXRwdXQ6DQogIGh0bWxfbm90ZWJvb2s6DQogICAgdG9jOiB0cnVlDQogICAgIyB0b2NfZmxvYXQ6IFRSVUUNCiAgaHRtbF9kb2N1bWVudDoNCiAgICB0b2M6IHRydWUNCiAgICBkZl9wcmludDogcGFnZWQNCi0tLQ0KDQpgYGB7ciBzZXR1cCwgaW5jbHVkZT1GQUxTRSwgd2FybmluZz1GQUxTRX0NCiMgYnkgZGVmYXVsdCBjb2xsYXBzZS9oaWRlIHRoZSBjb2RlDQojIGtuaXRyOjpvcHRzX2NodW5rJHNldChlY2hvID0gRkFMU0UpDQojIHNldCB3b3JraW5nIGRpcmVjdG9yeSB0byBvbmUgZm9sZGVyIHVwDQpzZXR3ZCgiLi4vIikNCiMgZ2V0d2QoKQ0Kc291cmNlKCIuL1IvZnVuY3Rpb25zLlIiKQ0KYGBgDQoNCiMjIEZvciB0aGUgSVdQUiBRMSBVcGRhdGUgKEphbiAyMDI1KQ0KDQotICAgR29hbDogcGxvdCBhIHdhdGVyIHNhbmtleSwgZW5lcmd5IHNhbmtleSwgZW5lcmd5LXdhdGVyIHNhbmtleSBmb3IgUTEgdXBkYXRlIG9mIHRoZSBFVy1GbG93cyBwcm9qZWN0DQoNCiMjIEVuZXJneS1XYXRlciBTYW5rZXkNCg0KYGBge3IgZmlnLndpZHRoPTEwLCB3YXJuaW5nPUZBTFNFLCBtZXNzYWdlPUZBTFNFfQ0KIyBsb2FkIHRoZSBkYXRhDQp3YXRlcl9zb3VyY2VfdGFyZ2V0IDwtIHJlYWRfY3N2KHBhc3RlMCgiLi4vIiwgZGF0YV9kaXIsICJ3YXRlcl9zb3VyY2VfdGFyZ2V0LmNzdiIpKSANCmFsbGVuZXJneV9zb3VyY2VfdGFyZ2V0IDwtIHJlYWRfY3N2KHBhc3RlMCgiLi4vIiwgZGF0YV9kaXIsICJhbGxlbmVyZ3lfc291cmNlX3RhcmdldC5jc3YiKSkgDQoNCmFsbGVuZXJneV9zb3VyY2VfdGFyZ2V0DQpgYGANCg0KDQpgYGB7ciBmaWcud2lkdGg9MTAsIHdhcm5pbmc9RkFMU0UsIG1lc3NhZ2U9RkFMU0V9DQp1bmlxdWUod2F0ZXJfc291cmNlX3RhcmdldCRzb3VyY2UpDQp1bmlxdWUod2F0ZXJfc291cmNlX3RhcmdldCR0YXJnZXQpDQoNCiMgd3JpdGVfY3N2KHdhdGVyX3NvdXJjZV90YXJnZXQgJT4lIHNlbGVjdChzb3VyY2UpICU+JSBkaXN0aW5jdCgpLCBwYXN0ZTAoIi4uLyIsIGRhdGFfZGlyLCAibWFwcGluZ3Mvc291cmNlX21hcHBpbmdfdy5jc3YiKSkNCiMgd3JpdGVfY3N2KHdhdGVyX3NvdXJjZV90YXJnZXQgJT4lIHNlbGVjdCh0YXJnZXQpICU+JSBkaXN0aW5jdCgpLCBwYXN0ZTAoIi4uLyIsIGRhdGFfZGlyLCAibWFwcGluZ3MvdGFyZ2V0X21hcHBpbmdfdy5jc3YiKSkNCg0Kc291cmNlX21hcHBpbmdfdyA8LSByZWFkX2NzdihwYXN0ZTAoIi4uLyIsIGRhdGFfZGlyLCAibWFwcGluZ3Mvc291cmNlX21hcHBpbmdfdy5jc3YiKSkNCnRhcmdldF9tYXBwaW5nX3cgPC0gcmVhZF9jc3YocGFzdGUwKCIuLi8iLCBkYXRhX2RpciwgIm1hcHBpbmdzL3RhcmdldF9tYXBwaW5nX3cuY3N2IikpDQpgYGANCg0KDQpgYGB7ciBmaWcud2lkdGg9MTAsIHdhcm5pbmc9RkFMU0UsIG1lc3NhZ2U9RkFMU0V9DQp3YXRlcl9zb3VyY2VfdGFyZ2V0X21hcHBlZCA8LSB3YXRlcl9zb3VyY2VfdGFyZ2V0ICU+JSANCiAgbGVmdF9qb2luKHNvdXJjZV9tYXBwaW5nX3csIGJ5ID0gYygic291cmNlIikpICU+JSBmaWx0ZXIoIWlzLm5hKHNtYXApKSAlPiUgc2VsZWN0KC1zb3VyY2UsIHNvdXJjZSA9IHNtYXApICU+JSANCiAgbGVmdF9qb2luKHRhcmdldF9tYXBwaW5nX3csIGJ5ID0gYygidGFyZ2V0IikpICU+JSBmaWx0ZXIoIWlzLm5hKHRtYXApKSAlPiUgc2VsZWN0KC10YXJnZXQsIHRhcmdldCA9IHRtYXApICU+JQ0KICBncm91cF9ieShzY2VuYXJpbywgc291cmNlLCB0YXJnZXQsIHllYXIsIHVuaXRzKSAlPiUgc3VtbWFyaXNlKHZhbHVlID0gc3VtKHZhbHVlKSkNCg0KcGxvdF9zYW5rZXkod2F0ZXJfc291cmNlX3RhcmdldF9tYXBwZWQpDQpgYGANCg0KDQpgYGB7ciBmaWcud2lkdGg9MTAsIHdhcm5pbmc9RkFMU0UsIG1lc3NhZ2U9RkFMU0V9DQplbmVyZ3lfd2F0ZXJfc291cmNlX3RhcmdldCA8LSBhbGxlbmVyZ3lfc291cmNlX3RhcmdldCAlPiUgDQogIHJiaW5kKHdhdGVyX3NvdXJjZV90YXJnZXRfbWFwcGVkICU+JSBtdXRhdGUodmFsdWUgPSB2YWx1ZSAqIDFlLTEpKSAlPiUgDQogIGNvbXBsZXRlKHNjZW5hcmlvLCB5ZWFyLCBuZXN0aW5nKHNvdXJjZSwgdGFyZ2V0KSwgZmlsbCA9IGxpc3QodmFsdWUgPSAwKSkgJT4lIA0KICBzZWxlY3Qoc2NlbmFyaW8sIHNvdXJjZSwgdGFyZ2V0LCB5ZWFyLCB2YWx1ZSwgdW5pdHMpDQogIA0KDQpwbG90X3NhbmtleShlbmVyZ3lfd2F0ZXJfc291cmNlX3RhcmdldCwgIkVuZXJneS1XYXRlciBGbG93cyBpbiB0aGUgVVMiLCB5ciA9IDIwNTApDQoNCg0KIyB3cml0ZV9jc3YoZW5lcmd5X3dhdGVyX3NvdXJjZV90YXJnZXQsIHBhc3RlMCgiLi4vIiwgZGF0YV9kaXIsICJlbmVyZ3lfd2F0ZXJfc291cmNlX3RhcmdldC5jc3YiKSkNCg0KIyBUT0RPOiBjYW4gcmVtb3ZlIGluZHVzdHJ5LCBsaXZlc3RvY2ssIGFuZCBkb21lc3RpYyB3YXRlciB1c2UgbGF5ZXJzIGFuZCBkaXJlY3RseSBhc3NpZ24gdGhlbSB0byBlbmQgdXNlcyBpbmR1c3RyeSwgbGl2ZXN0b2NrLCBhbmQgcmVzaWRlbnRpYWwgcmVzcGVjdGl2ZWx5DQpgYGANCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQo=